为您找到与linux read系统调用相关的共200个结果:
系统调用:是通过软件中断向内核发送一个明确的请求,系统调用实现是在内核完成的,那么linux系统怎么调用呢?下面大家与读文网小编一起来学习一下吧。
使用上面的方法有很多好处,首先你无须知道更多的细节,如 chmod 系统调用号,你只需了解 glibc 提供的 API 的原型;其次,该方法具有更好的移植性,你可以很轻松将该程序移植到其他平台,或者将 glibc 库换成其它库,程序只需做少量改动。
但有点不足是,如果 glibc 没有封装某个内核提供的系统调用时,我就没办法通过上面的方法来调用该系统调用。如我自己通过编译内核增加了一个系统调用,这时 glibc 不可能有你新增系统调用的封装 API,此时我们可以利用 glibc 提供的syscall 函数直接调用。该函数定义在 unistd.h 头文件中,函数原型如下:
long int syscall (long int sysno, ...)
sysno 是系统调用号,每个系统调用都有唯一的系统调用号来标识。在 sys/syscall.h 中有所有可能的系统调用号的宏定义。
... 为剩余可变长的参数,为系统调用所带的参数,根据系统调用的不同,可带0~5个不等的参数,如果超过特定系统调用能带的参数,多余的参数被忽略。
返回值 该函数返回值为特定系统调用的返回值,在系统调用成功之后你可以将该返回值转化为特定的类型,如果系统调用失败则返回 -1,错误代码存放在 errno 中。
还以上面修改 /etc/passwd 文件的属性为例,这次使用 syscall 直接调用:
#include <stdio.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <errno.h>
int main()
{
int rc;
rc = syscall(SYS_chmod, "/etc/passwd", 0444);
if (rc == -1)
fprintf(stderr, "chmod failed, errno = %d", errno);
else
printf("chmod succeess!");
return 0;
}
在普通用户下编译执行,输出的结果与上例相同。
浏览量:2
下载量:0
时间:
无论什么程序都不可能完美无缺,理论上,任何程序都有Core Dump的一天,那么大家知道Linux如何用命令重启系统吗?今天读文网小编与大家分享下Linux用命令重启系统的具体操作步骤,有需要的朋友不妨了解下。
在命令行中输入: shutdown -r now : 表示现在重启计算机!
按下回车便会进行重启
另一种重启方式就是输入: reboot 也表示重启!
4一样会进行重启!
看过“Linux如何用命令重启系统”
浏览量:2
下载量:0
时间:
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。那么Linux系统如何使用vi命令呢?接下来大家跟着读文网小编一起来了解一下Linux系统使用vi命令的解决方法吧。
一、一般模式:删除、复制与粘贴类命令
x,X x为向后删除一个字符,X为先前删除一个字符
nx(n代表数字) 向后删除n个字符
dd 删除当前行
D 删除当前行所有字符,试成为空行
ndd(n代表数字) 删除光标所在行的向下n列
d1G 删除光标所在行到第一行的所有数据
dG 删除光标所在行到最后一行的所有数据
yy 复制光标所在行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
ynj(n代表数字) 复制光标所在行向下n+1行
dnj(n代表数字) 删除光标所在行向下n+1行
p,P p为复制的数据粘贴在光标的下一行,P为复制的数据粘贴在光标的上一行
J 将光标所在行与下一行的数据结合成一行
u 恢复前一个动作(undo)
二、编辑模式命令
i,I i为在当前光标所在处插入输入的文字,I为在光标所在行第一个非空字符插入输入的文字
a,A a为在当前光标所在处下一个字符插入输入的文字,A为在光标所在行最后一个字符的下一个字符处插入输入的文字
o,O o为在光标所在行的下一行行首开始插入字符,O为在光标所在行的上一行行首开始插入字符
r,R r为替换光标所在那一个字符,R为一直替换光标所指的文字,直到退出
Esc 退出,回到一般模式
三、命令模式
h 光标向左移一个字符
j 光标向下移一个字符
k 光标向上移一个字符
l 光标向右移一个字符
Ctrl+f 屏幕向下翻一页
Ctrl+b 屏幕向上翻一页
Ctrl+d 屏幕向下翻半页
Ctrl+u 屏幕向上翻半页
+ 光标移动到下一行的第一个非空字符
- 光标移动到当前行的第一个非空字符
n空格(n代表数字) 光标向当前行向右移动n个字符
0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分)
$ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)
H 光标移动到当前屏幕最上方的那一行的第一个非空字符
M 光标移动到当前屏幕最中间那一行的第一个非空字符
L 光标移动到当前屏幕最下方的那一行的第一个非空字符
G 光标移动到该文章最后一行的第一个非空字符
nG(n代表数字) 光标移动到该文章第n行的第一个非空字符
n 光标从当前行向下移动n行的第一个非空字符
/word 在光标之后查找word字符串
?word 在光标之前查找word字符串
:s/word1/word2/g 在光标当前行查找word1,并替换成word2
:n1,n2s/word1/word2/g 在第n1行与第n2行之间查找word1,并替换成word2
:%s/word1/word2/g 整个文章查找word1,并替换成word2
:w 将编辑的数据保存到硬盘文件中
:w [filename] 将编辑后的数据保存到硬盘的另一个文件中
:r [filename] 在编辑数据时,读入另一个文件中的数据,即将filename文件中的内容加到光标所在行下一行
:wq或:x 保存并退出
:q 退出,适用于未修改的文件
:q! 强制退出,适用于修改文件后不保存退出
:set nu 显示行号
:set nonu 取消行号
:n1,n2 w [filename] 将n1到n2行的内容保存到名为filename的文件中
上面就是Linux中vi、vim命令的用法介绍了,本文简单的介绍了这两个命令的用法。
看过“Linux系统如何使用vi命令”
浏览量:3
下载量:0
时间:
拿linux虚拟机做实验的朋友会知道。当你把linux还原到某个点的时候,vmware帮不了你把系统时间也给重设了。那么Linux怎么设置系统时间呢?读文网小编分享了Linux设置系统时间的方法,希望对大家有所帮助。
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux 中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其 中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date
查看系统时间
# date
设置系统时间
# date –set “07/07/06 10:19″ (月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
# hwclock –show
或者# clock –show
设置硬件时间
# hwclock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)
或者# clock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:# hwclock –hctosys(hc代表硬件时间,sys代表系统时间)或者# clock –hctosys
系统时钟和硬件时钟同步:# hwclock –systohc或者# clock –systohc
4、时区的设置
# tzselect
Please identify a location so that time zone rules can be set correctly.Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia Europe 9) Indian Ocean10) Pacific Ocean11) none – I want to specify the time zone using the Posix TZ format.#? 输入5,亚洲
Please select a country. 1) Afghanistan 18) Israel 35) Palestine 2) armenia 19) Japan 36) Philippines 3) Azerbaijan 20) Jordan 37) Qatar 4) Bahrain 21) Kazakhstan 38) Russia 5) Bangladesh 22) Korea (North) 39) Saudi Arabia 6) Bhutan 23) Korea (South) 40) Singapore 7) Brunei 24) Kuwait 41) Sri Lanka Cambodia 25) Kyrgyzstan 42) Syria 9) China 26) Laos 43) Taiwan10) Cyprus 27) Lebanon 44) Tajikistan11) East Timor 28) Macau 45) Thailand12) Georgia 29) Malaysia 46) Turkmenistan13) Hong Kong 30) Mongolia 47) United Arab Emirates14) India 31) Myanmar (Burma) 48) Uzbekistan15) Indone sia 32) Nepal 49) Vietnam16) Iran 33) Oman 50) Yemen17) Iraq 34) Pakistan#? 输入9,中国
Please select one of the following time zone regions.1) east China – Beijing, Guangdong, Shanghai, etc.2) Heilongjiang3) central China – Gansu, Guizhou, Sichuan, Yunnan, etc.4) Tibet & most of Xinjiang Uyghur5) southwest Xinjiang Uyghur#? 输入1,北京时间
The following information has been given:
China east China – Beijing, Guangdong, Shanghai, etc.
Therefore TZ=”Asia/Shanghai” will be used.Local time is now: Fri Jul 7 10:32:18 CST 2006.Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.Is the above information OK?1) Yes2) No#? 输入1,确认
如果不用tzselect命令,可以修改文件变更时区。
# vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
重新启动即可。
看过“Linux怎么设置系统时间”
浏览量:3
下载量:0
时间:
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。那么大家知道怎么设置Linux系统时间吗?就让读文网小编来告诉大家设置Linux系统时间的方法吧,希望对大家有所帮助。
一、修改系统时间
linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。
date命令将日期设置为2014年6月18日
---- date -s 06/18/14
将时间设置为14点20分50秒
---- date -s 14:20:50
将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30
2 hwclock/clock 命令查看、设置硬件时间
查看系统硬件时钟
hwclock --show 或者
clock --show
设置硬件时间
hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)
3 同步系统及硬件时钟。
下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,
硬件时钟与系统时钟同步:
# hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟
系统时钟和硬件时钟同步:
# hwclock --systohc或者# clock --systohc 即用系统时钟同步硬件时钟
二、时区设置:
开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍一下如何使用tzselect命令设置时区,以及如何通过修改/etc/sysconfig/clock配置文件来设置时区。
tzselect:
执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。过程如下图:
执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ='Asia/Shanghai'; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。参考下图中date命令看到的结果,最终时区显示为CST,即中国标准时间。
4 修改配置文件来修改时区1、修改/etc/sysconfig/clock ZONE=Asia/Shanghai
2、rm /etc/localtime3、链接到上海时区文件
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
执行完上述过程后,重启机器,即可看到时区已经更改。
浏览量:3
下载量:0
时间:
一般的声卡驱动是支持windows的,linux很少,所以安装声卡驱动很麻烦。那么Linux系统怎么安装声卡驱动呢?接下来大家跟着读文网小编一起来了解一下Linux系统安装声卡驱动的解决方法吧。
要安装驱动,你得先去下载alsa驱动,网址是alsa-project.org,个人认为为了保证最大的兼容性,最好去下载最新版本。一般来说,只需要下载安装以下三个包就可以了,
driver
lib
utils
当然最好是要同一个版本的,我上传了一个所有需要的包,1.0.16 版的,有需要的用户请到这里来下载
URL : http://www.box.net/shared/0t5z8nao8c 不知道是否长久有效!
为了保证能完全安装成功,建议切换到root用户下执行安装。
我是在X Window 下执行的安装,解压上述下载有的压缩包是用鼠标右键单击解压的,我想能熟练用shell命令来解压文档的Linux User是不需要来我这里看声卡驱动的安装的
先安装下载回来的driver那个包,解压,然后在终端中转到解压后的那个文件夹,按照顺序执行以下命令。
1 ./configure
2 make
3 make install
4 ./snddevices
一般来说都能顺利执行完上述命令的,如果不能的话,请查看返回的信息,这里需要特别说明一下,这几个过程都比较耗时,无论你的硬件配置如何,这个我没有办法解释原因,经验之谈。
安装到了这里,就需要配置系统文件了,怎么配置,手动的我也不知道,但是我知道有一个工具可以帮我们高效且几乎不出错的完成这个任务,那就是alsaconf工具了,这个工具在utils文件包里面。
解压下载回来的utils文件包,同样需要在终端中执行命令,在终端中转到解压后的目录,然后执行如下命令。
./alsaconf
然后就会出现一个比较像GUI的界面,会让你选择几次OK键之后,开始搜索声卡类型,搜索完了以后,就列出声卡列表,选择你的实际芯片组,然后再敲几次OK键,最后问你是否让他帮你写入配置文件,当然要拉。至此,如果幸运的话,重启之后就能你的声卡就能工作了。
如果重启之后还不能工作的话则继续往下看。
还不能工作的话,一般需要安装剩下的那两个包了,但是,有顺序的,先安装lib再安装utils
方法都差不多,都要在终端中执行安装,命令都一样。
1 ./configure
2 make
3 make install
安装完最后的utils时再运行。
./alsaconf
再配置一次声卡,个别的系统还要在X Window下的系统管理工具那里设置一下声卡,不过都简单了。
重启系统,你的声卡应该能工作了,祝贺你。
看过“Linux系统怎么安装声卡驱动”
浏览量:2
下载量:0
时间:
有时候,装了某个软件或驱动后,破坏了声卡本身的驱动程序,这时候可能通过重装声卡驱动来解决。就让读文网小编来告诉大家Linux系统如何安装声卡驱动的方法吧,希望对大家有所帮助。
环境 ubuntu12.04
因为桌面版的默认装了,而且调声音也很方便,这里说一下server版下的配置,毕竟做开发经常还是用server版的
1.安装
apt-get install alsa-base 它会把alsa-utils也一块装了,这是个工具包,如果没装的话 直接 apt-get install alsa-utils
2.配置
在server版下装完alsa后声音默认是静音的
执行 alsamixer 会出现一个图形界面
会看到有的是 MM 有的是OO 用“m”键切换时静音还是打开,一般设置 Master 和 PCM 就可以了,其他的自己看着办就行了,千万不要被图片误导了,前两个一定要设置为OO!!。
3.设置默认声卡,有时候会有多个声卡,我们需要选一个默认的
在上图那个界面里 按 F6 就会知道自己有几个声卡了或者
cd /proc/asound 然后ls下也可以看到自己的声卡了
设置默认声卡有两种方法
(1)在/etc/下创建文件 asound.conf (整个系统有效)
vi /etc/asound.conf
如果想把声卡 1 设置为默认的则 写入以下内容
defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1
(2)在用户目录下创建文件.asoundrc,然后在里边写入同样的内容就可以了(只对这个用户生效)
4.这个工具的使用很简单,上下左右那四个键就搞定了。
看过“Linux系统如何安装声卡驱动”
浏览量:3
下载量:0
时间:
cp 主要是用于在同一台电脑上,在不同的目录之间来回copy文件,那么Linux系统怎么使用cp命令呢?接下来大家跟着读文网小编一起来了解一下Linux系统使用cp命令的解决方法吧。
关于cp的具体用法:
命令基本格式:
cp [OPTIONS] SOURCE DEST --- 从源路径copy文件到目的路径
cp [OPTIONS] SOURCE... DIRECTORY --- 将多个源文件copy到指定的目录(多个源文件用空格分隔)
OPTIONS:
-a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归copy;
-r 表示递归copy,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;
-f 表示force,若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;
范例:
1. 将档案 aaa 复制(已存在),并命名为 bbb:
cp aaa bbb
2. 将所有的C语言程式拷贝至 Finished 子目录中:
cp *.c Finished/
关于scp的具体用法:
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以在另外一台机器使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。
命令基本格式:
scp [OPTIONS] file_source file_target
OPTIONS:
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
从 本地 复制到 远程
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root (然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了),复制目录加参数 -r 即可
从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
以下是补充:
命令:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
命令:scp
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
linux之cp/scp命令+scp命令详解(转) - linmaogan - 独木★不成林scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
scp 命令
scp 可以在 2个 linux 主机间复制文件;
命令基本格式:
scp [可选参数] file_source file_target
从 本地 复制到 远程
* 复制文件:
* 命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
* 例子:
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
* 复制目录:
* 命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
* 例子:
scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
例如:
scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 :
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
看过“Linux系统怎么使用cp命令”
浏览量:3
下载量:0
时间:
如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。今天读文网小编与大家分享下学习Linux系统命令的具体使用步骤,有需要的朋友不妨了解下。
一、每日提示
学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向你介绍一些有用的命令及其高级使用技巧。
在.bashrc中(/home/.bashrc)增加如下一行:
echo “Did you know that:”; whatis $(ls /bin | shuf -n 1)
你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay。Ubuntu/Debian下安装cowsay:
sudo apt-get install cowsay
Fedora下安装cowsay:
yum install cowsay
除了安装cowsay,还需要在.bashrc中增加:
cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2》/dev/null | shuf -n 1)
然而,上述使用cowsay的方法并不是在所有Linux发行版下均可运行成功。
二、使用“whatis”
如果你不喜欢学习随机的命令,或许你喜欢在使用某种命令的时候学习它的用法。这时你只需要在其前面加上whatis即可。Whatis会逐条的解释你输入的命令。
上图的whatis sudo yum install cheese例子清楚的告诉你:1)sudo是让你具有管理员权限;2)yun是软件包管理器;3)install是让YUM安装软件包;4)cheese是你打算安装的软件。这种方法在复杂的或者不常见的命令前执行的效果并不好。但是如果你想了解某个命令的大概用途,这种方法还是值得一试。
三、浏览命令的所有可用选项
如果你正在使用一个新的命令,那么有两种途径可以查看它的详细用法。一种途径是“man 《程序》”,其中《程序》是你要运行的程序名字。例如,“man cp”会在man文件浏览器中告诉你cp的详细用法。
另一种途径可以更快的查看某个命令的主要用法——“ -help”。例如,“cp -help”会在终端中直接打印出cp命令的大量用法。换句话讲,-help选项在所有的Linux命令中具有相同的含义。
四、速成班——是的,现在!
最后,你可以在这里学习Linux命令的语法!了解Linux命令的基本语法对于理解命令很有益处,很值得一学。
所有的Linux命令都具有相同的结构:[sudo] program [parameter] [parameter] … [parameter] [-flag] [parameter] [-flag] [parameter] … [flag] [parameter]
让我来分段剖析上述的结构:
1.如果一个命令需要管理员权限(root访问权限)才能运行,那么必须在它之前加上“sudo”。这使得在运行命令之输入管理员的密码。
2.“program”是应用程序的名字。它包括yum, apt-get, cheese, tar, cp, mv和firefox等等。如果没有经过额外的配置,所有可以通过这种方法访问的命令均放在/usr/bin目录下(译者注:默认情况下其它一些目录下的程序也可以这样运行,如/bin下的命令)。对于很多程序,你只需要在终端中输入其名字。例如,在终端中输入”firefox”,然后按Enter键,Firefox就运行起来了。
3.在程序名字的后面,你可以使用不同的参数和标志。不同程序在这方面差别很大。例如,命令“cp file1 file2”在file1的所在目录下将其复制一份并另存为file2。这里的“file1”和“file2”是命令“cp”的两个参数。一些命令也通过使用不同的标志来改变其行为。例如,命令“sudo yum install cheese -y”中的“install”是yum的参数,“cheese”是install的参数,“-y”是yum的标志——当yum询问你是否继续的时候,一律默认回答“yes”。需要注意的是,一些标志有自己的参数,而另一些则没有。这里就不给出具体的例子了。每个Linux名字都有自己的一套标志设定,掌握这些需要长时间的积累。
学习Linux系统命令的几种技巧就介绍完了,当然Linux系统的命令还有很多,掌握这些技巧可以节省学习Linux命令的时间。除此之外的实践和反复地训练也是必不可少的。
浏览量:2
下载量:0
时间:
nux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么Linux系统怎么找回丢失磁盘空间?下面读文网小编就给大家介绍下Linux找回丢失磁盘空间的方法。
收到一个磁盘告警,说某某分区已经满了,然后登录服务器 df 一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是 du -s * 一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空间去哪了呢?
这里就列3种情况:
隐藏文件
linux系统把文件名以。(点号)开头的文件视为隐藏文件,而类似bash里*这样的操作符是不会匹配隐藏文件的,所以如果根目录下有个较大的隐藏文件的话,是不会被du -sh * 统计到的,解决办法就是: du -sh 。[^.]* 。
非空目录被mount
一般挂载其他分区的时候都是建议mount到一个空目录的,那么如果mount到一个非空的目录,情况会怎么样呢?比如/mnt目录本来里面是有文件 的,然后执行了sudo mount /dev/sda6 /mnt。其实这个mount命令完全能正常执行,被mount的分区也能正常访问,只是原先在/mnt里的文件,现在已经访问不到了,包括du也看不到 大小了,但是磁盘空间却还是被占着,因为如果你 umount /mnt 以后,原来的文件都还会回来的。
空洞文件
一个文件的大小和所占磁盘空间也不一定完全一致,比如某个程序一直打开着一个叫log的文件在写,而中间有人用 》 log 命令清除了log的内容,就会产生这样的文件。
大多数情况下来看,以上这三种垃圾,电脑中都会隐藏,那些电脑磁盘不大的朋友们可以勤加清理,可以释放一些空间以被储存其他重要的文件。一般这三种方法清理之后,电脑中的垃圾文件就被清理的差不多了,所以是个还蛮有效的方法呢,试试吧!
看过“Linux系统怎么找回丢失磁盘空间”
浏览量:2
下载量:0
时间:
平常我们不会去注意系统的最后重启时间,但在特殊的情况下我们还是会去查看的,那么Linux系统怎么查看最后重启时间呢?就让读文网小编来告诉大家Linux系统查看最后重启时间的方法吧,希望对大家有所帮助。
使用who命令带上‘-b’选项。
# who -b
system boot Jul 30 13:44
浏览量:4
下载量:0
时间:
在Linux的系统中经常碰到字符集导致的错误,那么Linux系统怎么配置多语言环境呢?就让读文网小编来告诉大家Linux系统配置多语言环境的方法吧,希望对大家有所帮助。
修改 /etc/sysconfig/i18n 文件,如
LANG=“en_US.UTF-8”,xwindow会显示英文界面,
LANG=“zh_CN.GB18030”,xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n修改 $HOME/.i18n 文件,如
LANG=“en_US.UTF-8”,xwindow会显示英文界面,
LANG=“zh_CN.GB18030”,xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户。
修改后的/etc/sysconfig/i18n 文件为:
代码如下:
LANG=“en_US.UTF-8”
SUPPORTED=“zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=“latarcyrheb-sun16”
LC_ALL=“en_US.UTF-8”
export LC_ALL
设置完毕后重启或者用rc.local使生效
或修改登录用户的.bash_profile文件加入
代码如下:
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
Ubuntu
比如将Ubuntu 系统语言环境改为英文的en_US.UTF-8:
查看当前系统语言环境,编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为en
代码如下:
sudo nano /etc/default/locale
LANG=“en_US.UTF-8”
LANGUAGE=“en_US:en”
CentOS:
方法一、使用光盘或者相当于光盘的媒介
代码如下:
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom
# rpm -ivh fonts-chinese
方法二、代码如下:
# yum install fonts-chinese
安装好后,设置一下系统的语言,用桌面方式或字符方式均可,修改后包括如下内容即可:
代码如下:
vim /etc/sysconfig/i18n
代码如下:
LANG=“zh_CN.GB2312”
LANGUAGE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=“zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja”
SYSFONT=“lat0-sun16”
SYSFONTACM=“8859-15”
上面就是介绍了如何为Linux系统配置多语言环境的基本方法 ,如果你还在为不知如何给Linux系统配置多语言环境而烦恼的话,你们不凡可以按照上面所说的方法去操作,一切已实践行动为主,那就赶紧选择一个你自己喜欢的方法去操作吧!
看过“Linux系统怎么配置多语言环境”
浏览量:4
下载量:0
时间:
对于如何在Windows系统上面怎么进行系统备份相信大家都知道,那么大家知道Linux通过shell脚本怎么备份系统吗?读文网小编分享了Linux通过shell脚本备份系统的方法,希望对大家有所帮助。
脚本如下:
#!/bin/sh
#Automatic Backup Linux System Files
#Author wugk 2013-11-22
#Define Variable
SOURCE_DIR=(
$*
)
TARGET_DIR=/data/backup/
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
WEEK=`date +%u`
FILES=system_backup.tgz
CODE=$?
if
[ -z “$*” ];then
echo -e “Please Enter Your Backup Files or Directories--------------------------------------------Example $0 /boot /etc 。。。。。。”
exit
fi
#Determine Whether the Target Directory Exists
if
[ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then
mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY
echo “This $TARGET_DIR is Created Successfully !”
fi
#EXEC Full_Backup Function Command
Full_Backup()
{
if
[ “$WEEK” -eq “7” ];then
rm -rf $TARGET_DIR/snapshot
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
[ “$CODE” == “0” ]&&echo -e “--------------------------------------------These Full_Backup System Files Backup Successfully !”
fi
}
#Perform incremental BACKUP Function Command
Add_Backup()
{
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;
if
[ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then
read -p “These $FILES Already Exists, overwrite confirmation yes or no ? : ” SURE
if [ $SURE == “no” -o $SURE == “n” ];then
sleep 1 ;exit 0
fi
#Add_Backup Files System
if
[ $WEEK -ne “7” ];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}`
[ “$CODE” == “0” ]&&echo -e “-----------------------------------------These Add_Backup System Files Backup Successfully !”
fi
else
if
[ $WEEK -ne “7” ];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
[ “$CODE” == “0” ]&&echo -e “-------------------------------------------These Add_Backup System Files Backup Successfully !”
fi
fi
}
Full_Backup;Add_Backup
上面就是Linux使用shell脚本备份系统的方法介绍了,通过上面的脚本就能自动备份系统,但脚本可能还存在不足的地方,可自行改良优化。
看过“Linux通过shell脚本怎么备份系统”
浏览量:3
下载量:0
时间:
Linux系统进程在一定条件下可以对任何文件、数据库等进行操作。如果此进程被不法分子用作其他不法用途,将会给系统带来重大危害。那么下面跟着读文网小编来一起了解下Linux系统怎么设置安全管理吧。
1.引导程序安全
Linux系统的root密码是很容易破解的,当然前提是你没有设置引导程序密码,如GRUB或LILO,为了防止通过引导程序破译root密码,强烈建议设置GRUB或LILO的引导密码,可以编辑其配置文件/etc/grub.conf或/etc/lilo.conf,设置password参数。
2.不安全权限设置
大家常见的Linux下文件权限是r w x,其实还有一种权限叫s,如果给某个文件赋予的s权限,那么这个文件在执行的时候就会拥有相应宿主用户或宿主组用户的权限,例如:
#chmod u+s testfile
#ls -la testfile
rwsr----- root root 10 testfile
这样,当这个文件被其它用户执行的时候,此用户就具有了此文件宿主用户root的对testfile的执行权限。类似,当文件的宿主组具有s权限后,执行此文件的用户就具有了此文件宿主组用户对此文件的权限,这是相当危险的。
大家可以试想下,如果命令chmod的文件被赋予了s权限,那么其它用户还有什么事情是不能做的呢?那它就可以更改任何文件的权限了,当然,s权限需要和x权限结合使用,没有x权限的s权限是没有任何意义的。
3.自动注销
当某个用户使用服务器后忘记注销,也是很危险的事情,此时,管理员可以设置/etc/profile文件的timeout参数,当用户一段时间不做任何操作时,系统自动注销此用户。
4. 设置口令复杂度
为了防止系统用户口令过于简单而被破译,可以编辑/etc/login.defs文件,设置系统用户口令复杂度,例如口令最长,最短,过期时间等。
5.禁止不必要用户登陆系统
为了防止其它非系统用户登陆系统,可以在添加用户时,赋予此用户不存在的主目录和不存在的shell环境,当然,最好还更改/etc/passwd和/etc/shadow两个文件的访问权限,使之后root用户可以访问。
Linux系统特点就是因为它是一款免费传播类操作系统,使其具有服务器应有的天然特性,但也正是因为有这些特性,所以在管理不当的情况下,也会造成很严重的安全性问题,所以我们的好好使用它,保护它!
看过“Linux系统怎么设置安全管理”
浏览量:4
下载量:0
时间:
最近有用户反映,在Linux系统下无法访问mysql,那么如何解决Linux系统无法访问mysql呢?读文网小编分享了解决Linux系统无法访问mysql的方法,希望对大家有所帮助。
1、问题及异常
ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
2、查找原因
费劲周知,确定是MySQL权限的问题
3、解决过程
1》 mysql -uroot -proot mydbName
2》 grant all privileges on *.* to wangs@‘%’ identified by ‘123456’;
3》 flush privileges;
4》 exit;
5》 /etc/init.d/mysql restart
4、命令的说明
进入 mysql ,用户为 root,密码为 root,数据库为 mydbName,-u 意为用户,-p 意为密码,
增加用户 wangs,所有权限,数据库为 *,后面的 .* 不可少,% 代表对所有远程的 IP 地址,如果要限定 IP 地址的话,单独写上 IP 地址,
密码是 123456,注意引号 ‘ 不可少,用来表示是字符串。
以上命令和过程均不可省略。
以上就是Linux系统下无法访问mysql的解决办法,用户在遇到同样故障时可根据问题的异常状况来找出原因,然后再对症下药的解决问题。
看过“如何解决Linux系统无法访问mysql”
浏览量:4
下载量:0
时间:
如果没有设置DNS服务器的话,那么系统就不能正常上网了。,那么Linux系统怎么查看和修改DNS配置呢?下面读文网小编就为大家带来了Linux系统查看和修改DNS配置的方法。
1:查看/etc/resolv.con文件
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.xxx.xxx
#search localdomain
[root@localhost ~]#
2:使用nslookup命令查看DNS信息
[root@localhost ~]# nslookup 127.0.0.1 | grep Server
Server: 192.168.xxx.xxx
[root@localhost ~]#
3:使用dig命令来查看DNS信息
[root@localhost ~]# dig
; 《《》》 DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 《《》》
;; global options: printcmd
;; Got answer:
;; -》》HEADER《《- opcode: QUERY, status: NOERROR, id: 36888
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 3
;; QUESTION SECTION:
;。 IN NS
;; ANSWER SECTION:
。 86163 IN NS m.root-servers.net.
。 86163 IN NS a.root-servers.net.
。 86163 IN NS j.root-servers.net.
。 86163 IN NS l.root-servers.net.
。 86163 IN NS e.root-servers.net.
。 86163 IN NS d.root-servers.net.
。 86163 IN NS k.root-servers.net.
。 86163 IN NS f.root-servers.net.
。 86163 IN NS h.root-servers.net.
。 86163 IN NS c.root-servers.net.
。 86163 IN NS g.root-servers.net.
。 86163 IN NS b.root-servers.net.
。 86163 IN NS i.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 3599 IN A 112.4.20.71
b.root-servers.net. 86163 IN A 192.228.79.201
i.root-servers.net. 86173 IN A 192.36.148.17
;; Query time: 8 msec
;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx)
;; WHEN: Sat Apr 16 07:34:37 2016
;; MSG SIZE rcvd: 289
[root@localhost ~]# dig | grep SERVER: | awk -F# ‘{ print $1 }’ | awk -F: ‘{ print $2 }’
192.168.xxx.xxx
4:其它一些方法查看DNS信息
在网上看到还有一些其他方法,查看服务器的DNS配置信息,如下所示,不过这些方法,由于环境限制,我没有验证过,仅供参考。
nm-tool | grep DNS
nmcli dev list iface eth0 | grep IP4
浏览量:3
下载量:0
时间:
打开电脑运行对话框时,输入CMD命令后,本以为可以在命令提示符通过命令运行相关程序,结果执行完CMD命令后,发现“命令提示符已被系统管理员停用”。那么你知道win7系统CMD命令调用不了怎么办吗?下面是读文网小编整理的一些关于win7系统CMD命令调用不了的相关资料,供你参考。
一、通过键盘上的Win+R组合键,快速调用运行窗口,然后在运行程序中输入gpedit.msc 命令,再按住回车键即可执行该命令。
二、如下图所示,打开了win7纯净版系统下载本地组策略编辑器,我们可以在左侧栏中看到菜单项,在左边的菜单中依次展开“用户配置”-“管理模板”-“系统”,然后在打开的系统文件中,可以看到右边的设置菜单列表里面有一项“阻止访问命令提示符”。
三、鼠标右键单击一下,在win7旗舰版弹出来的菜单中选择“编辑”项。将设置“已启用”修改为“已禁用”或者是“未配置”,然后再点击最下面的应用和确定按钮,实现生效。
此时你再通过运行对话框运行C MD命令,在打开的命令提示符中,可以键入命令,即命令提示符不再提示被禁用的提示。
win7系统CMD命令调用不了的相关
浏览量:4
下载量:0
时间: